草庐IT

jQuery Mobile 实例

全部标签

java - Spring bean 实例化顺序

我遇到了Bean实例化顺序很重要的问题。目前,下面的Bean3正在运行基于数据库的缓存放置操作,Bean1使用代理Bean2查询新创建的缓存。优先级是Bean3和Bean2在Bean1被实例化之前完全实例化,即当Spring容器出现时。这些bean位于单独的JARS中,Bean2对Bean1的引用未使用Autowiring。相反,服务定位器正在为其提供引用。我们使用Spring2.5.2而不是使用XML来实例化bean。任何帮助表示赞赏!JAR1(Spring项目)@Service("bean3")publicclassBean3implementsApplicationListene

java - 在参数上调用静态方法而不实例化参数中的类

我真的开始接触TDD,并且开始在jUnit中使用mockito来提高我测试代码的能力。我真的很喜欢mockito!我注意到我必须改变我对编码的思考方式,例如尽可能将协作者传递给方法并尽可能限制在构造函数中完成的工作。以下场景值得专家们就SO提出一些建议。假设我有一个方法,它将在某个类上调用一些静态方法。例如publicvoidmethod(){OtherClass.staticMethod();}这通常是不好的,但在我的场景中需要它。为了使代码在我的单元测试中更易于测试,我想避免对OtherClass的依赖并将其作为参数传递。这不起作用,因为它会产生编译时错误。publicvoidme

java - 使用 G1 时,大量 Activity 实例的分配性能会降低吗?

在将我们的一些应用程序从CMS迁移到G1时,我注意到其中一个应用程序的启动时间延长了4倍。由于GC循环导致的应用程序停止时间不是原因。在比较应用程序行为时,我发现这个应用程序在启动后携带了高达2.5亿个Activity对象(在12G的堆中)。进一步调查表明,应用程序在前500万次分配中速度正常,但随着Activity对象池的增大,性能越来越下降。进一步的实验表明,一旦达到一定的Activity对象阈值,使用G1时新对象的分配确实会变慢。我发现将Activity对象的数量加倍似乎会使该分配所需的时间增加2.5倍左右。对于其他GC引擎,该系数仅为2。这确实可以解释减速。不过,有两个问题让我

java - 我如何告诉 Dagger 2 要基于 X 实例化哪个实现?

在模块内部,如果我需要根据模块构造时已知的变量提供接口(interface)的不同实现,我可以将逻辑放在该接口(interface)类型的@Provides方法中。像这样:@ModulepublicclassFooModule{privatefinalStatestate;publicFooModule(Statestate){this.state=state;}@ProvidesFooInterfaceprovideFooImplementation(){switch(state){caseSTATE_1:returnnewFooImpl1();caseSTATE_2:returnn

java - 如何获取 FaunaDB 类中的所有实例

我有一个类“posts”,它有10个实例。如何在不使用分页方法的情况下使用fauna-java库获取并列出此类中的所有实例?我试过如下的东西client.query(Get(Class("posts")))但无法实现这一目标。 最佳答案 Fauna中存在Paginate函数,用于处理请求的数据集。在您的情况下,您可以使用pagesize参数并将其增加到一定程度。请记住,在达到一定大小后,您将需要使用分页功能来遍历更大的集合。设置了页面大小的paginate的简单版本看起来像这样:Paginate(Match(Index("custo

java - 如何模拟难以实例化的类 (javax.mail.Message)?

我想在我的下一个项目中使用junit测试,但我不确定我应该使用几个模拟包中的哪一个。我还阅读了一些教程,但没有找到如何解决下面概述的特定问题的信息。也许该功能在我checkout的软件包中不可用。这就是问题所在:我想编写一个遍历List的电子邮件过滤器类并按主题、日期、发件人、收件人等过滤电子邮件。要测试的代码如下所示:publicListdoFilter(ListmessageList){ListnewList=newArrayList(messageList.size());try{for(Messagemessage:messageList){if(start!=null){Da

java - Hibernate:将子类的实例转换为父类(super class)的实例

假设我有一个名为User的类和一个ExtendedUser类,后者是User的子类。这两个类都使用hibernate(JPA)注释进行映射:用户:@Entity@Table("user-table")@Inheritance(strategy=InheritanceType.JOINED)publicclassUser{@Id@GeneratedValue@Column(name="id")privateIntegerid;@Column(name="name")privateStringname;}扩展用户:@Entity@Table(name="extended-user-tabl

java - 类型安全地创建要传递给 Comparator.comparing() 的 Function 实例

假设我有一个具有以下签名的方法:>Comparatormethod(Map>comparatorFunctionMap)该方法接受一个函数映射(带有字符串键)并创建一个Comparator结果(如何并不重要)。映射值是Function的实例,这样它们就可以直接传递给Comparator.comparing().如何以类型安全的方式填充此map?假设我有一个类Person具有属性name和age(以及他们的setter/getter)。当我执行以下操作时:Map>map1=newHashMap();map1.put("name",Person::getName);method(map1)

java - 从子类更改父类(super class)实例变量的值

我发现我可以在子类中这样做:ParentClass.variable=value;但有人告诉我,更好的做法是使用get/set方法,而不是直接访问类外的变量。尽管这是针对我在另一个类中有该类的实例的情况,而不是针对子类和父类(superclass)。那么有没有更好的方法来做到这一点,哪种方法通常被认为是最佳实践? 最佳答案 您有很多选择。super.field=x您必须有权访问该字段才能执行此操作field=x您必须有权访问该字段才能执行此操作。您也不能在child中有另一个字段,否则只会设置child的字段。setParentFi

java - Guice 相当于 Spring 的 @Autowire 实例列表

在Spring的时候:@AutowireListmyInterfaces;然后这个列表将被所有实现MyInterface的bean填充.我不必创建List类型的bean.我正在GoogleGuice中寻找此类行为。目前我使用的是:MultibindermyInterfaceBinder=MultiBinder.newSetBinder(binder(),MyInterface.class);现在如果我有一个实现MyInterface的bean我绑定(bind)它,说通过:bind(MyInterfaceImpl.class).asEagerSingleton();它不会包含在我的mul